<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			"Interleaved"는 서로 다른 타입일 수도 있는 여러 속성들이(예를 들어 위치, 법선, uv, 색상)이 단일 배열 버퍼에 패키징되어있다는 뜻입니다. 
			<br/><br/>
			인터리브 배열에 대한 설명은 여기: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]에서 확인할 수 있습니다.
		</p>

		<h2>예제</h2>

		<p>[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]</p>

		<h2>생성자</h2>
		<h3>[name]( [param:TypedArray array], [param:Integer stride] )</h3>
		<p>
			[page:TypedArray array] -- 공유 버퍼를 가진 타입 배열입니다. 기하학 데이터를 저장합니다.<br/>
			[page:Integer stride] -- 꼭짓점 당 타입-배열 엘레먼트의 수입니다.
		</p>

		<h2>프로퍼티</h2>

		<h3>[property:Array array]</h3>
		<p>
			공유 버퍼를 가진 타입 배열입니다. 기하학 데이터를 저장합니다.
		</p>

		<h3>[property:Integer stride]</h3>
		<p>
			꼭짓점 당 타입-배열 엘레먼트의 수입니다.
		</p>

		<h3>[property:Integer count]</h3>
		<p>
		배열 안에 있는 엘레먼트의 총 수입니다
		</p>

		<h3>[property:Object updateRange]</h3>
		<p>
		오프셋과 카운트를 가지고 있는 객체입니다.
		</p>

		<h3>[property:Number updateRange.offset]</h3>
		<p>
		기본값은 *0* 입니다.
		</p>

		<h3>[property:Number updateRange.count]</h3>
		<p>
		기본값은 *-1* 입니다.
		</p>

		<h3>[property:String uuid]</h3>
		<p>
		인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다. 자동으로 할당되는 값이며, 수정할 수 없습니다.
		</p>

		<h3>[property:Integer version]</h3>
		<p>
		버전 넘버이며 needsUpdate 속성이 true일 때 증가합니다.
		</p>

		<h3>[property:Boolean needsUpdate]</h3>
		<p>
		기본값은 *false*입니다. true로 설정하면 [page:InterleavedBuffer.version version]를 증가시킵니다.
		</p>

		<h3>[property:Usage usage]</h3>
		<p>
			최적화 목적의 데이터 저장 패턴의 사용법을 정의합니다. 
			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]()의 *usage* 파라미터에 해당합니다.
		</p>

		<h2>메서드</h2>

		<h3>[method:InterleavedBuffer copy]( [param:InterleavedBuffer source] ) </h3>
		<p>
		 다른 [name]를 이[name]에 복사합니다.
		</p>

		<h3>[method:InterleavedBuffer copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] ) </h3>
		<p>속성 [index2]의 데이터를 [page:InterleavedBuffer.array array][index1]에 복사합니다.</p>

		<h3>[method:InterleavedBuffer set]( [param:TypedArray value], [param:Integer offset] ) </h3>
		<p>
			value - 원본 (타입) 배열.<br/>
			offset - 원본 배열로부터 값을 작성하기 시작할 타깃 배열의 오프셋. 기본값은 *0*입니다.<br/><br />

			버퍼에 여러 값을 저장하고 특정 배열로부터 입력값을 읽습니다.
		</p>

		<h3>[method:InterleavedBuffer clone]( [param:Object data] ) </h3>
		<p>
			data - 이 오브젝트는 인터리브 속성을 가진 기하학의 적절한 복사과정을 위한 공유 배열 버퍼를 가지고 있습니다.
			<br/><br />

			이 [name]의 사본을 만듭니다.
		</p>

		<h3>[method:InterleavedBuffer setUsage] ( [param:Usage value] ) </h3>
		<p>[page:InterleavedBuffer.usage usage]를 value 로 설정합니다.</p>

		<h3>[method:InterleavedBuffer toJSON]( [param:Object data] ) </h3>
		<p>
			data - 이 오브젝트는 인터리브 속성을 가진 기하학의 적절한 시리얼라이징을 위한 공유 배열 버퍼를 가지고 있습니다.<br/><br />

			이 [name]을 시리얼화합니다.
		</p>

		<h2>소스코드</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
